As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems are often disposed in networking systems which communicatively couple numerous information handling systems together, sometimes over vast distances. To facilitate communication, information handling systems often include network interface cards or similar hardware. Such network interface cards may include communication ports through which data may be transmitted to or received from other networked information handling systems. Such ports may be coupled by cables, fibers, and/or other media.
Many network architectures employ link aggregation. Link aggregation (e.g., IEEE 802.1AX-2008) may generally describe the practice of using multiple network cables and/or ports in parallel to increase the link speed beyond the limits of any one single cable or port, and to increase redundancy for higher availability. In link aggregation, a group or set of ports may be combined and represented as a single logical port to other components of the network system. Various switching elements of the network system may “see” the aggregated ports (known as a “link aggregation group” or “LAG”) as a single logical communication port in the routing tables or databases of networking components external to the LAG. Network traffic may be distributed through the various member ports of a LAG in accordance with a hashing algorithm.
Due to hardware complexity incumbent in determining which member port of a LAG is to distribute a particular portion of network traffic, traditional link aggregation approaches are often limited in the number of member ports that may make up a LAG. Accordingly, the total aggregate bandwidth of traditional LAGs is also limited.
In addition, many traditional approaches to link aggregation require that member ports be identical or similar (e.g., requirement that all ports be of the same speed), in order to keep hashing algorithms simple. Such requirements limit network architecture flexibility.